(Not Applicable)
(Not Applicable)
1. Technical Field
This invention relates to computer data distribution systems, and particularly to distribution of device data generated by multiple subsystems in a constellation.
2. Description of the Related Art
Satellite ground stations today are required to process and distribute more data from even more space vehicles (SVs) than ever before. In the past, a ground station would have a single SV in view at any given point in time or in the case of a station supporting geosynchronous systems, separate hardware systems dedicated to a single SV would perform the isolated processing to determine vehicle state. Today satellite constellations containing up to 80 SVs are being supported by ground stations consisting of up to 50 workstations sharing all the data all the time. This data reflects the state of the individual vehicles, state of the constellation, and state of the ground hardware and software.
Ground station personnel from their workstations request, process and view the data in which they are interested. Operation""s Shift Leads view constellation status, operator-SV assignments, and ground station status. Operators view overall SV state including power, thermal, attitude, payload and other systems for each individual satellite. SV engineers wish only to view the data pertaining to the satellite subsystem they are responsible for (i.e. power, thermal or payload systems). Operators or SV engineers may wish to view the health and state of a single SV or many SVs.
In the case of SV engineers, they will typically need to view and trend specific subsystem measurements common to all SVs in a cooperating SV constellation. In this case, it is not advisable to require a SV engineer""s workstation to ingest and process all data from all SVs in order to trend or view a handful of measurands across all SVs in the constellation. One approach would be to implement a publish/subscribe approach where by client applications xe2x80x9csubscribexe2x80x9d for selected data from the server (publisher). From experience it has been seen that this solution is not scalable when many clients subscribe to the same data within the system. The server (or publishing application) can xe2x80x9cback-upxe2x80x9d due to clients not accepting data in a timely fashion or it can be required to transmit the selected data many times in order to satisfy all subscriptions. A transmit once mechanism (multicast) and optimized receive filter fine enough to quickly drop unwanted data is needed in order to preserve the workstation""s CPU for application work.
It is also desirable to configure a system such that operators or engineers at assigned workstations are unable to access specific data due to security reasons or the fact that the data is outside their area of interest. If this is implemented in such a way that the workstation does not have knowledge of the existence of the specific data, it would not be possible for that workstation to request the data. This would greatly enhance a system administrator""s or system engineer""s ability to limit access to data within his controlling application. Operators would not have the ability to request system configuration status, SV engineers not see data relating to subsystems outside their area of interest, and real-time operator workstations could not request high-speed payload data which may cause them excessive CPU utilization problems.
A method for distributing data for one or more controlled devices having defined subsystems which generate data. The method includes the steps of partitioning and labeling the data to establish a set of defined data views, so that each data view contains data for a predetermined set of the subsystems; storing the data on a server node of a computer network; broadcasting the data containing a plurality of the data views from the server to at least one client node via the network using a multicast transmission method; and selectively processing in the client node only a predetermined set of the data views assigned to the client node and rejecting all other data views.
Upon a new client node connecting to the network, the system provides the server node with a directory of available information contained on the client node corresponding only to a set of server data views that the server can process. Similarly, upon a new client node connecting to the network, the system provides the client with a directory of available information contained on the server node corresponding only to a set of new client data views that the new client node can process. The broadcasted data view information advantageously contains data updates only, after each connected nodes has received an initial directory of available information.
According to one aspect of the invention, the server receives data from a plurality of controlled devices. Subsystems of the same type from different controlled devices are partitioned and labeled in accordance with the same data view.
The invention further includes a computer network system for distributing data for a set of controlled devices, where each device contains defined subsystems which generate data. Programming is provided for partitioning and labeling the data to establish a set of defined data views, so that each data view preferably contains data for a predetermined set of the subsystems. Programming is also provided for storing the data on a server node of a computer network and for broadcasting the data containing multiple data views from the server to at least one client node via the network using a multicast transmission method. Finally, additional programming is provided for selectively processing in the client node only a predetermined set of the data views assigned to the client node and rejecting all other data views.
According to one aspect, the system further includes programming responsive to a new client node connecting to the network for providing the server node with a directory of available information contained on the client node corresponding only to a set of server data views that the server can process. According to another aspect, the invention includes programming responsive to a new client node connecting to the network for providing the client with a directory of available information contained on the server node. The directory information thus provided corresponds only to a set of new client data views that the new client node can process. In a preferred embodiment, the broadcast data view information contains data updates only, after each connected node has received a directory of available information.